from nicegui import ui
import shared

# 创建进度条组件
progress_bar = ui.circular_progress(value=shared.get_progress())


# 更新进度条的回调函数
def update_progress_bar():
    progress_bar.set_value(shared.get_progress())


# 注册回调函数作为观察者
shared.add_observer(update_progress_bar)


# 创建一个按钮来模拟进度更新
def simulate_progress():
    import random
    new_value = random.uniform(0, 1)
    shared.set_progress(new_value)


ui.button('Simulate Progress', on_click=simulate_progress)

ui.run()
